perm filename SCHWAR.LE1[LET,JMC] blob
sn#501914 filedate 1980-04-16 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 .require "let.pub" source
C00021 ENDMK
C⊗;
.require "let.pub" source
∂AIL Professor Jack Schwartz↓Courant Institute
↓251 Mercer Street↓New York, N.Y. 10012∞
Dear Jack:
In accordance with our telephone conversation, here is
a summary of my thoughts about the development of time-sharing
including MULTICS, TSS, etc. For reasons that will become apparent,
it is necessary to begin at the beginning.
In 1957 I began telling people at M.I.T. that the proper
way to use a computer was for each user to have a terminal in his
office, and that through time-sharing, the computer could allow
each user to behave as though he had a machine of his own. Enclosed
(as you requested)
is a memo dated January 1959 from me to Philip Morse, Director
of the M.I.T. Computation Center, outlining these ideas.
However, because I wanted to concentrate my research on AI, it was
agreed that Herbert Teager, a new assistant professor of electrical
engineering would lead the time-sharing work.
When an M.I.T. appointed a study group on its next generation
computer, it was quickly agreed that it should be a large time-sharing
machine. I won't take time to give the history of that group which had
an upper level committee of professors which never actually met and
a lower level committee which was first chaired by Teager and later
by me. Several events should be mentioned:
1. In order to be conservative about what would be required
to achieve our goals, we gave too large an estimate of the cost of
the system, which apparently floored the M.I.T. administration.
2. The gradual breakdown of relations between M.I.T. and IBM
over the core memory dispute caused large delays, since IBM
was originally inclined to work closely with M.I.T., but everything
got postponed. We assistant professors at M.I.T. weren't told what
was holding things up.
3. The result of the study was an RFP for a large time-shared
machine which M.I.T. never brought itself to send out.
4. During the meetings of the committee, I pushed for
a simple system and won as long as I stayed around. Others pushed
various elaborations, especially new forms of indexing and protection
mechanisms. It seems to me that this is a danger in any committee
composed of creative people who have ideas they would like to see
realized. In principle, its effects can be mitigated by a management
that adheres to the goals of the institution, but this is not possible
if the manager is plugging ideas of his own on the one hand, or if
he doesn't understand the technology on the other hand.
5. After I left M.I.T., Licklider, who had sponsored me in
a small time-sharing system for the PDP-1 at BBN, was asked by ARPA
to head and office supporting research in computing and in command
and control. He then persuaded M.I.T. to undertake a large time-sharing
project which became Project MAC.
The director was Fano, whose role was administrative.
.<<
.xgenlines←xgenlines-1;
.>>
6. I believe that the original
object of MULTICS was to produce a time-sharing
system that would prototype the transition of computing from batch
processing to time-sharing. This gradually shifted into the exploration
of the ideas of segmentation, sharing and security of the leaders of
the project. Whose ideas dominated I don't know, but I suppose Corbato,
Dennis, and Salzer were important. Licklider could be asked
what his original objectives were.
7. The BBN small time-sharing project led to Jordan Baruch's
medical time-sharing involvement with G.E. This project failed,
because the GE 400 series of machines was inadequate and because
specializing time-sharing to a medical environment was premature.
No doubt there were other reasons also.
Any history of time-sharing should take this into account.
8. When we at M.I.T. had good contacts with IBM, we got
help in adapting the 7090 for time-sharing, and Gene Amdahl assured
us that the 360 would be suitable for time-sharing, but he wasn't
interested in arguments that the 360 should be basically a time-sharing
machine. In response to a question, he told me that he expected it
to be mainly used with tape-to-tape operating systems like that used
by Bell Labs for the IBM 7090.
Unfortunately, Amdahl didn't understand the need for some form of
relocation and rejected the idea. His only form of protection
was the use of keys. In this, he relied on some simulations of
small Fortran jobs in a batch processing environment which told
him that rapid swapping wasn't needed and that each job could
have a fixed location into which it was swapped. He therefore
completely missed the idea of character-by-character or at least
line-by-line interaction of the user with his program. Thus it
turned out that the 360 was less suited for time-sharing than
IBM's earlier STRETCH computer.
9. I don't know to what extent Dartmouth's work in time-sharing
was stimulated by ideas coming from M.I.T.
However, Kemeny always had a tendency to do everything in the
simplest (even simple-minded) way possible, and it certainly
paid off. While making a one language time-sharing system was
unnecessary, and the earlier PDP-1 work (Boilen and I)
at BBN and M.I.T. (Dennis and
students) allowed any languages, restricting the GE235 time-sharing
system to BASIC avoided all temptations to complicate the system.
10. IBM and GE competed for the contract for the MULTICS
machine, but apparently IBM would not go along with all M.I.T.'s
ideas, some of which they may have regarded as unsound, and
M.I.T. chose GE. Apparently Watson then called for a renewed
effort to make a time-sharing based system. IBM then
got Lincoln Labs to specify the 360/67, which after all had all M.I.T.'s
proposed bells and whistles. They also started to develop the
TSS time-sharing system with the same ideas as MULTICS.
11. Both MULTICS and TSS were elaborate systems with the
same ideas. Both were large projects, and neither ever succeeded
in providing cost-effective time-sharing. The precise failures
are obscure to me, but the main symptom was slow response so that
the system couldn't serve enough users to justify its cost. In
the MULTICS case, the sharing and protection system dictated an
elaborate subroutine linkage system that was very slow. The idea
of demand paging was never very successful and made it very difficult
for the system designers to know what was going on. Even today,
the way out of paging problems is to acquire a very large primary
memory so that paging is extremely rare.
A secondary problem is bad choice of user features, emphasizing
some of little importance, and omitting others of greater importance.
It seems to me that both groups had a common tendency to regard
the users as idiots who were to be protected from themselves rather
than given the maximum power to command the resources of the machine.
The M.I.T. AI Lab developed ITS carried the opposite philosophy
to an extreme with more successful results.
I don't know of any great differences in the management
histories of the projects that would permit a conclusion on the
effectiveness of universities and companies at large software
projects. IBM is more subject to whims from above and hence
gave up sooner. This was probably a correct decision.
12. Note that the surviving IBM time-sharing system is VM,
which was originally intended to be just for experimenting with
virtual machines. This allowed it to be developed without apparently
competing with TSS which was politically strong enough to suppress
rivalry within IBM. VM has many faults such as virtual card readers
(To this very day (more than ten years later)
messages are sent in 4331 VM by putting them
in users' virtual card readers, and reading them destroys them -
just as in a real card reader.)
with 80 virtual columns leading to strange file formats.
Another major fault is that VM doesn't have a computer-wide file
naming system which makes it difficult for one user to use
a program prepared by another which refers to a file in the
latters area. IBM's dedication to half duplex and bad noisy terminals
gives rise to additional problems.
In spite of all these faults, VM is winning in IBM, having
been adopted for the 4300 series of machines. It beat TSS and variants
of OS, perhaps because the early stages of the project never
had the manpower that would permit the over-elaboration that TSS, OS
and MULTICS suffered foom.
13. The successful time-sharing company is D.E.C. It seems
to me that the reasons for its success include the following:
The designers of the PDP-6 (e.g. Alan Kotok) had experience with
simple time-sharing systems at M.I.T. (Dennis's) and with TX-0.
They kept everything as simple as possible. Nevertheless, the hardware
of the PDP-6 was designed for time-sharing, and the operating
system was designed as a time-sharing system with provisions
for batch-processing rather than the other way around.
14. Note that the M.I.T. AI Lab did a successful system ITS
for the PDP-6 (PDP-10) and so did BBN (TENEX). The Stanford AI
Lab changed more than half of the code in D.E.C.'s system to get
the present WAITS system. All these projects succeeded with a
tiny fraction of the manpower used by MULTICS and IBM. IBMers agree
that WAITS is more convenient to use than VM.
15. The Bell Labs UNIX started as a simplified version of
MULTICS. Now it is much more widespread than MULTICS and will
probably be also used on large machines.
These remarks are based on personal impressions over a long
period of time. I haven't the time to talk to enough people
to confirm or modify them.
I fear that the remarks about the role of individuals in
making various decisions may bother people who will consider themselves
unfavorable and unfairly mentioned. Conversely others may feel I
should have mentioned their work which I may have known about at some
time. Nevertheless, I have edited out only a few such comments, because
I think the state of this technology is in a large measure the result
of identifiable
individual decisions rather than the result of anonymous historical
forces.
One "historical force" which may have played a role is the
tendency in the 1960s to undertake projects with grandiose goals
that were subsequently not realized. It seems to me that projects
failed partly because the goals were grandiose but maybe even more
because the participants lost heart. Rather than redouble efforts
in face of difficulties, as was the earlier American tendency,
people tended to redefine the goals or just give up. Now they
don't even think of major efforts. Why this is
so is beyond the scope of this letter.
While you may show this letter to anyone, I would not like
it to be published. I am sure that hearing from some of the people
involved in various time-sharing projects would lead to large changes
with not much work, but I don't want to take the time for that work.
.sgn
P.S. I don't now include the memo referred to. In the first place,
I haven't found it yet in my recently moved files which are now
in boxes. Secondly, I am a little reluctant to engage in what might
be taken as an effort to establish priority. However, I'll send
you a copy when I unearth it. If all else fails, I'll ask Don Knuth
to whom I once gave a copy and who has a reputation of never losing
track of anything.
cc: J. F. Blackburn